package remote.mvc.commands
{
	import flash.events.Event;
	
	import remote.mvc.controls.CallBackDispatcher;
	import remote.mvc.events.CallBackEvent;
	
	
	/**
	 * command基类，它实现了通用的错误处理。
	 * @createDate 2011-2-28
	 * @author 徐俊杰
	 */
	public class CommandBase implements ICommand, IResponse
	{
		private var _oriEvent:Event;

		public function execute(e:Event):void
		{
		}
		
		/**
		 * 获取正常的数据后，对结果的处理 
		 * @param data 数据
		 * 
		 */		
		public function result(data:Object):void
		{
			
		}
		
		public function fault(info:Object):void
		{
			trace(info.toString());
		}
		
		/**
		 * 发出回调事件以通知需要接收的对象 
		 * @param data 数据
		 * 
		 */
		protected function dispatchCallBackEvent(data:Object):void
		{
			CallBackDispatcher.instance.dispatchEvent(new CallBackEvent(_oriEvent, data));
		}
	}
}